home *** CD-ROM | disk | FTP | other *** search
/ Windows Game Programming for Dummies (2nd Edition) / WinGamProgFD.iso / mac / DirectX SDK / DXSDK / include / videoacc.h < prev    next >
C/C++ Source or Header  |  2001-10-08  |  23KB  |  662 lines

  1.  
  2. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  3.  
  4. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  5.  
  6.  
  7.  /* File created by MIDL compiler version 6.00.0347 */
  8. /* Compiler settings for videoacc.idl:
  9.     Oicf, W1, Zp8, env=Win32 (32b run)
  10.     protocol : dce , ms_ext, c_ext, robust
  11.     error checks: allocation ref bounds_check enum stub_data 
  12.     VC __declspec() decoration level: 
  13.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  14.          DECLSPEC_UUID(), MIDL_INTERFACE()
  15. */
  16. //@@MIDL_FILE_HEADING(  )
  17.  
  18.  
  19. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  20. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  21. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  22. #endif
  23.  
  24. #include "rpc.h"
  25. #include "rpcndr.h"
  26.  
  27. #ifndef __RPCNDR_H_VERSION__
  28. #error this stub requires an updated version of <rpcndr.h>
  29. #endif // __RPCNDR_H_VERSION__
  30.  
  31. #ifndef COM_NO_WINDOWS_H
  32. #include "windows.h"
  33. #include "ole2.h"
  34. #endif /*COM_NO_WINDOWS_H*/
  35.  
  36. #ifndef __videoacc_h__
  37. #define __videoacc_h__
  38.  
  39. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  40. #pragma once
  41. #endif
  42.  
  43. /* Forward Declarations */ 
  44.  
  45. #ifndef __IAMVideoAcceleratorNotify_FWD_DEFINED__
  46. #define __IAMVideoAcceleratorNotify_FWD_DEFINED__
  47. typedef interface IAMVideoAcceleratorNotify IAMVideoAcceleratorNotify;
  48. #endif     /* __IAMVideoAcceleratorNotify_FWD_DEFINED__ */
  49.  
  50.  
  51. #ifndef __IAMVideoAccelerator_FWD_DEFINED__
  52. #define __IAMVideoAccelerator_FWD_DEFINED__
  53. typedef interface IAMVideoAccelerator IAMVideoAccelerator;
  54. #endif     /* __IAMVideoAccelerator_FWD_DEFINED__ */
  55.  
  56.  
  57. /* header files for imported files */
  58. #include "unknwn.h"
  59.  
  60. #ifdef __cplusplus
  61. extern "C"{
  62. #endif 
  63.  
  64. void * __RPC_USER MIDL_user_allocate(size_t);
  65. void __RPC_USER MIDL_user_free( void * ); 
  66.  
  67. /* interface __MIDL_itf_videoacc_0000 */
  68. /* [local] */ 
  69.  
  70. //
  71. //   The following declarations within the 'if 0' block are dummy typedefs used to make
  72. //   the motncomp.idl file build.  The actual definitions are contained in ddraw.h and amva.h
  73. //
  74. #if 0
  75. typedef void *LPVOID;
  76.  
  77. typedef void *LPGUID;
  78.  
  79. typedef void *LPDIRECTDRAWSURFACE;
  80.  
  81. typedef void *LPDDPIXELFORMAT;
  82.  
  83. typedef void *LPAMVAInternalMemInfo;
  84.  
  85. typedef void AMVAUncompDataInfo;
  86.  
  87. typedef void *LPAMVACompBufferInfo;
  88.  
  89. typedef void AMVABUFFERINFO;
  90.  
  91. typedef void AMVAEndFrameInfo;
  92.  
  93. typedef void *LPAMVAUncompBufferInfo;
  94.  
  95. typedef void AMVABeginFrameInfo;
  96.  
  97. typedef IUnknown *IMediaSample;
  98.  
  99. #endif
  100. #include <ddraw.h>
  101. #include <amva.h>
  102.  
  103.  
  104. extern RPC_IF_HANDLE __MIDL_itf_videoacc_0000_v0_0_c_ifspec;
  105. extern RPC_IF_HANDLE __MIDL_itf_videoacc_0000_v0_0_s_ifspec;
  106.  
  107. #ifndef __IAMVideoAcceleratorNotify_INTERFACE_DEFINED__
  108. #define __IAMVideoAcceleratorNotify_INTERFACE_DEFINED__
  109.  
  110. /* interface IAMVideoAcceleratorNotify */
  111. /* [unique][helpstring][uuid][object][local] */ 
  112.  
  113.  
  114. EXTERN_C const IID IID_IAMVideoAcceleratorNotify;
  115.  
  116. #if defined(__cplusplus) && !defined(CINTERFACE)
  117.     
  118.     MIDL_INTERFACE("256A6A21-FBAD-11d1-82BF-00A0C9696C8F")
  119.     IAMVideoAcceleratorNotify : public IUnknown
  120.     {
  121.     public:
  122.         virtual HRESULT STDMETHODCALLTYPE GetUncompSurfacesInfo( 
  123.             /* [in] */ const GUID *pGuid,
  124.             /* [out][in] */ LPAMVAUncompBufferInfo pUncompBufferInfo) = 0;
  125.         
  126.         virtual HRESULT STDMETHODCALLTYPE SetUncompSurfacesInfo( 
  127.             /* [in] */ DWORD dwActualUncompSurfacesAllocated) = 0;
  128.         
  129.         virtual HRESULT STDMETHODCALLTYPE GetCreateVideoAcceleratorData( 
  130.             /* [in] */ const GUID *pGuid,
  131.             /* [out] */ LPDWORD pdwSizeMiscData,
  132.             /* [out] */ LPVOID *ppMiscData) = 0;
  133.         
  134.     };
  135.     
  136. #else     /* C style interface */
  137.  
  138.     typedef struct IAMVideoAcceleratorNotifyVtbl
  139.     {
  140.         BEGIN_INTERFACE
  141.         
  142.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  143.             IAMVideoAcceleratorNotify * This,
  144.             /* [in] */ REFIID riid,
  145.             /* [iid_is][out] */ void **ppvObject);
  146.         
  147.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  148.             IAMVideoAcceleratorNotify * This);
  149.         
  150.         ULONG ( STDMETHODCALLTYPE *Release )( 
  151.             IAMVideoAcceleratorNotify * This);
  152.         
  153.         HRESULT ( STDMETHODCALLTYPE *GetUncompSurfacesInfo )( 
  154.             IAMVideoAcceleratorNotify * This,
  155.             /* [in] */ const GUID *pGuid,
  156.             /* [out][in] */ LPAMVAUncompBufferInfo pUncompBufferInfo);
  157.         
  158.         HRESULT ( STDMETHODCALLTYPE *SetUncompSurfacesInfo )( 
  159.             IAMVideoAcceleratorNotify * This,
  160.             /* [in] */ DWORD dwActualUncompSurfacesAllocated);
  161.         
  162.         HRESULT ( STDMETHODCALLTYPE *GetCreateVideoAcceleratorData )( 
  163.             IAMVideoAcceleratorNotify * This,
  164.             /* [in] */ const GUID *pGuid,
  165.             /* [out] */ LPDWORD pdwSizeMiscData,
  166.             /* [out] */ LPVOID *ppMiscData);
  167.         
  168.         END_INTERFACE
  169.     } IAMVideoAcceleratorNotifyVtbl;
  170.  
  171.     interface IAMVideoAcceleratorNotify
  172.     {
  173.         CONST_VTBL struct IAMVideoAcceleratorNotifyVtbl *lpVtbl;
  174.     };
  175.  
  176.     
  177.  
  178. #ifdef COBJMACROS
  179.  
  180.  
  181. #define IAMVideoAcceleratorNotify_QueryInterface(This,riid,ppvObject)    \
  182.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  183.  
  184. #define IAMVideoAcceleratorNotify_AddRef(This)    \
  185.     (This)->lpVtbl -> AddRef(This)
  186.  
  187. #define IAMVideoAcceleratorNotify_Release(This)    \
  188.     (This)->lpVtbl -> Release(This)
  189.  
  190.  
  191. #define IAMVideoAcceleratorNotify_GetUncompSurfacesInfo(This,pGuid,pUncompBufferInfo)    \
  192.     (This)->lpVtbl -> GetUncompSurfacesInfo(This,pGuid,pUncompBufferInfo)
  193.  
  194. #define IAMVideoAcceleratorNotify_SetUncompSurfacesInfo(This,dwActualUncompSurfacesAllocated)    \
  195.     (This)->lpVtbl -> SetUncompSurfacesInfo(This,dwActualUncompSurfacesAllocated)
  196.  
  197. #define IAMVideoAcceleratorNotify_GetCreateVideoAcceleratorData(This,pGuid,pdwSizeMiscData,ppMiscData)    \
  198.     (This)->lpVtbl -> GetCreateVideoAcceleratorData(This,pGuid,pdwSizeMiscData,ppMiscData)
  199.  
  200. #endif /* COBJMACROS */
  201.  
  202.  
  203. #endif     /* C style interface */
  204.  
  205.  
  206.  
  207. HRESULT STDMETHODCALLTYPE IAMVideoAcceleratorNotify_GetUncompSurfacesInfo_Proxy( 
  208.     IAMVideoAcceleratorNotify * This,
  209.     /* [in] */ const GUID *pGuid,
  210.     /* [out][in] */ LPAMVAUncompBufferInfo pUncompBufferInfo);
  211.  
  212.  
  213. void __RPC_STUB IAMVideoAcceleratorNotify_GetUncompSurfacesInfo_Stub(
  214.     IRpcStubBuffer *This,
  215.     IRpcChannelBuffer *_pRpcChannelBuffer,
  216.     PRPC_MESSAGE _pRpcMessage,
  217.     DWORD *_pdwStubPhase);
  218.  
  219.  
  220. HRESULT STDMETHODCALLTYPE IAMVideoAcceleratorNotify_SetUncompSurfacesInfo_Proxy( 
  221.     IAMVideoAcceleratorNotify * This,
  222.     /* [in] */ DWORD dwActualUncompSurfacesAllocated);
  223.  
  224.  
  225. void __RPC_STUB IAMVideoAcceleratorNotify_SetUncompSurfacesInfo_Stub(
  226.     IRpcStubBuffer *This,
  227.     IRpcChannelBuffer *_pRpcChannelBuffer,
  228.     PRPC_MESSAGE _pRpcMessage,
  229.     DWORD *_pdwStubPhase);
  230.  
  231.  
  232. HRESULT STDMETHODCALLTYPE IAMVideoAcceleratorNotify_GetCreateVideoAcceleratorData_Proxy( 
  233.     IAMVideoAcceleratorNotify * This,
  234.     /* [in] */ const GUID *pGuid,
  235.     /* [out] */ LPDWORD pdwSizeMiscData,
  236.     /* [out] */ LPVOID *ppMiscData);
  237.  
  238.  
  239. void __RPC_STUB IAMVideoAcceleratorNotify_GetCreateVideoAcceleratorData_Stub(
  240.     IRpcStubBuffer *This,
  241.     IRpcChannelBuffer *_pRpcChannelBuffer,
  242.     PRPC_MESSAGE _pRpcMessage,
  243.     DWORD *_pdwStubPhase);
  244.  
  245.  
  246.  
  247. #endif     /* __IAMVideoAcceleratorNotify_INTERFACE_DEFINED__ */
  248.  
  249.  
  250. #ifndef __IAMVideoAccelerator_INTERFACE_DEFINED__
  251. #define __IAMVideoAccelerator_INTERFACE_DEFINED__
  252.  
  253. /* interface IAMVideoAccelerator */
  254. /* [unique][helpstring][uuid][object][local] */ 
  255.  
  256.  
  257. EXTERN_C const IID IID_IAMVideoAccelerator;
  258.  
  259. #if defined(__cplusplus) && !defined(CINTERFACE)
  260.     
  261.     MIDL_INTERFACE("256A6A22-FBAD-11d1-82BF-00A0C9696C8F")
  262.     IAMVideoAccelerator : public IUnknown
  263.     {
  264.     public:
  265.         virtual HRESULT STDMETHODCALLTYPE GetVideoAcceleratorGUIDs( 
  266.             /* [out][in] */ LPDWORD pdwNumGuidsSupported,
  267.             /* [out][in] */ LPGUID pGuidsSupported) = 0;
  268.         
  269.         virtual HRESULT STDMETHODCALLTYPE GetUncompFormatsSupported( 
  270.             /* [in] */ const GUID *pGuid,
  271.             /* [out][in] */ LPDWORD pdwNumFormatsSupported,
  272.             /* [out][in] */ LPDDPIXELFORMAT pFormatsSupported) = 0;
  273.         
  274.         virtual HRESULT STDMETHODCALLTYPE GetInternalMemInfo( 
  275.             /* [in] */ const GUID *pGuid,
  276.             /* [in] */ const AMVAUncompDataInfo *pamvaUncompDataInfo,
  277.             /* [out][in] */ LPAMVAInternalMemInfo pamvaInternalMemInfo) = 0;
  278.         
  279.         virtual HRESULT STDMETHODCALLTYPE GetCompBufferInfo( 
  280.             /* [in] */ const GUID *pGuid,
  281.             /* [in] */ const AMVAUncompDataInfo *pamvaUncompDataInfo,
  282.             /* [out][in] */ LPDWORD pdwNumTypesCompBuffers,
  283.             /* [out] */ LPAMVACompBufferInfo pamvaCompBufferInfo) = 0;
  284.         
  285.         virtual HRESULT STDMETHODCALLTYPE GetInternalCompBufferInfo( 
  286.             /* [out][in] */ LPDWORD pdwNumTypesCompBuffers,
  287.             /* [out] */ LPAMVACompBufferInfo pamvaCompBufferInfo) = 0;
  288.         
  289.         virtual HRESULT STDMETHODCALLTYPE BeginFrame( 
  290.             /* [in] */ const AMVABeginFrameInfo *amvaBeginFrameInfo) = 0;
  291.         
  292.         virtual HRESULT STDMETHODCALLTYPE EndFrame( 
  293.             /* [in] */ const AMVAEndFrameInfo *pEndFrameInfo) = 0;
  294.         
  295.         virtual HRESULT STDMETHODCALLTYPE GetBuffer( 
  296.             /* [in] */ DWORD dwTypeIndex,
  297.             /* [in] */ DWORD dwBufferIndex,
  298.             /* [in] */ BOOL bReadOnly,
  299.             /* [out] */ LPVOID *ppBuffer,
  300.             /* [out] */ LONG *lpStride) = 0;
  301.         
  302.         virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer( 
  303.             /* [in] */ DWORD dwTypeIndex,
  304.             /* [in] */ DWORD dwBufferIndex) = 0;
  305.         
  306.         virtual HRESULT STDMETHODCALLTYPE Execute( 
  307.             /* [in] */ DWORD dwFunction,
  308.             /* [in] */ LPVOID lpPrivateInputData,
  309.             /* [in] */ DWORD cbPrivateInputData,
  310.             /* [in] */ LPVOID lpPrivateOutputDat,
  311.             /* [in] */ DWORD cbPrivateOutputData,
  312.             /* [in] */ DWORD dwNumBuffers,
  313.             /* [in] */ const AMVABUFFERINFO *pamvaBufferInfo) = 0;
  314.         
  315.         virtual HRESULT STDMETHODCALLTYPE QueryRenderStatus( 
  316.             /* [in] */ DWORD dwTypeIndex,
  317.             /* [in] */ DWORD dwBufferIndex,
  318.             /* [in] */ DWORD dwFlags) = 0;
  319.         
  320.         virtual HRESULT STDMETHODCALLTYPE DisplayFrame( 
  321.             /* [in] */ DWORD dwFlipToIndex,
  322.             /* [in] */ IMediaSample *pMediaSample) = 0;
  323.         
  324.     };
  325.     
  326. #else     /* C style interface */
  327.  
  328.     typedef struct IAMVideoAcceleratorVtbl
  329.     {
  330.         BEGIN_INTERFACE
  331.         
  332.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  333.             IAMVideoAccelerator * This,
  334.             /* [in] */ REFIID riid,
  335.             /* [iid_is][out] */ void **ppvObject);
  336.         
  337.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  338.             IAMVideoAccelerator * This);
  339.         
  340.         ULONG ( STDMETHODCALLTYPE *Release )( 
  341.             IAMVideoAccelerator * This);
  342.         
  343.         HRESULT ( STDMETHODCALLTYPE *GetVideoAcceleratorGUIDs )( 
  344.             IAMVideoAccelerator * This,
  345.             /* [out][in] */ LPDWORD pdwNumGuidsSupported,
  346.             /* [out][in] */ LPGUID pGuidsSupported);
  347.         
  348.         HRESULT ( STDMETHODCALLTYPE *GetUncompFormatsSupported )( 
  349.             IAMVideoAccelerator * This,
  350.             /* [in] */ const GUID *pGuid,
  351.             /* [out][in] */ LPDWORD pdwNumFormatsSupported,
  352.             /* [out][in] */ LPDDPIXELFORMAT pFormatsSupported);
  353.         
  354.         HRESULT ( STDMETHODCALLTYPE *GetInternalMemInfo )( 
  355.             IAMVideoAccelerator * This,
  356.             /* [in] */ const GUID *pGuid,
  357.             /* [in] */ const AMVAUncompDataInfo *pamvaUncompDataInfo,
  358.             /* [out][in] */ LPAMVAInternalMemInfo pamvaInternalMemInfo);
  359.         
  360.         HRESULT ( STDMETHODCALLTYPE *GetCompBufferInfo )( 
  361.             IAMVideoAccelerator * This,
  362.             /* [in] */ const GUID *pGuid,
  363.             /* [in] */ const AMVAUncompDataInfo *pamvaUncompDataInfo,
  364.             /* [out][in] */ LPDWORD pdwNumTypesCompBuffers,
  365.             /* [out] */ LPAMVACompBufferInfo pamvaCompBufferInfo);
  366.         
  367.         HRESULT ( STDMETHODCALLTYPE *GetInternalCompBufferInfo )( 
  368.             IAMVideoAccelerator * This,
  369.             /* [out][in] */ LPDWORD pdwNumTypesCompBuffers,
  370.             /* [out] */ LPAMVACompBufferInfo pamvaCompBufferInfo);
  371.         
  372.         HRESULT ( STDMETHODCALLTYPE *BeginFrame )( 
  373.             IAMVideoAccelerator * This,
  374.             /* [in] */ const AMVABeginFrameInfo *amvaBeginFrameInfo);
  375.         
  376.         HRESULT ( STDMETHODCALLTYPE *EndFrame )( 
  377.             IAMVideoAccelerator * This,
  378.             /* [in] */ const AMVAEndFrameInfo *pEndFrameInfo);
  379.         
  380.         HRESULT ( STDMETHODCALLTYPE *GetBuffer )( 
  381.             IAMVideoAccelerator * This,
  382.             /* [in] */ DWORD dwTypeIndex,
  383.             /* [in] */ DWORD dwBufferIndex,
  384.             /* [in] */ BOOL bReadOnly,
  385.             /* [out] */ LPVOID *ppBuffer,
  386.             /* [out] */ LONG *lpStride);
  387.         
  388.         HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )( 
  389.             IAMVideoAccelerator * This,
  390.             /* [in] */ DWORD dwTypeIndex,
  391.             /* [in] */ DWORD dwBufferIndex);
  392.         
  393.         HRESULT ( STDMETHODCALLTYPE *Execute )( 
  394.             IAMVideoAccelerator * This,
  395.             /* [in] */ DWORD dwFunction,
  396.             /* [in] */ LPVOID lpPrivateInputData,
  397.             /* [in] */ DWORD cbPrivateInputData,
  398.             /* [in] */ LPVOID lpPrivateOutputDat,
  399.             /* [in] */ DWORD cbPrivateOutputData,
  400.             /* [in] */ DWORD dwNumBuffers,
  401.             /* [in] */ const AMVABUFFERINFO *pamvaBufferInfo);
  402.         
  403.         HRESULT ( STDMETHODCALLTYPE *QueryRenderStatus )( 
  404.             IAMVideoAccelerator * This,
  405.             /* [in] */ DWORD dwTypeIndex,
  406.             /* [in] */ DWORD dwBufferIndex,
  407.             /* [in] */ DWORD dwFlags);
  408.         
  409.         HRESULT ( STDMETHODCALLTYPE *DisplayFrame )( 
  410.             IAMVideoAccelerator * This,
  411.             /* [in] */ DWORD dwFlipToIndex,
  412.             /* [in] */ IMediaSample *pMediaSample);
  413.         
  414.         END_INTERFACE
  415.     } IAMVideoAcceleratorVtbl;
  416.  
  417.     interface IAMVideoAccelerator
  418.     {
  419.         CONST_VTBL struct IAMVideoAcceleratorVtbl *lpVtbl;
  420.     };
  421.  
  422.     
  423.  
  424. #ifdef COBJMACROS
  425.  
  426.  
  427. #define IAMVideoAccelerator_QueryInterface(This,riid,ppvObject)    \
  428.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  429.  
  430. #define IAMVideoAccelerator_AddRef(This)    \
  431.     (This)->lpVtbl -> AddRef(This)
  432.  
  433. #define IAMVideoAccelerator_Release(This)    \
  434.     (This)->lpVtbl -> Release(This)
  435.  
  436.  
  437. #define IAMVideoAccelerator_GetVideoAcceleratorGUIDs(This,pdwNumGuidsSupported,pGuidsSupported)    \
  438.     (This)->lpVtbl -> GetVideoAcceleratorGUIDs(This,pdwNumGuidsSupported,pGuidsSupported)
  439.  
  440. #define IAMVideoAccelerator_GetUncompFormatsSupported(This,pGuid,pdwNumFormatsSupported,pFormatsSupported)    \
  441.     (This)->lpVtbl -> GetUncompFormatsSupported(This,pGuid,pdwNumFormatsSupported,pFormatsSupported)
  442.  
  443. #define IAMVideoAccelerator_GetInternalMemInfo(This,pGuid,pamvaUncompDataInfo,pamvaInternalMemInfo)    \
  444.     (This)->lpVtbl -> GetInternalMemInfo(This,pGuid,pamvaUncompDataInfo,pamvaInternalMemInfo)
  445.  
  446. #define IAMVideoAccelerator_GetCompBufferInfo(This,pGuid,pamvaUncompDataInfo,pdwNumTypesCompBuffers,pamvaCompBufferInfo)    \
  447.     (This)->lpVtbl -> GetCompBufferInfo(This,pGuid,pamvaUncompDataInfo,pdwNumTypesCompBuffers,pamvaCompBufferInfo)
  448.  
  449. #define IAMVideoAccelerator_GetInternalCompBufferInfo(This,pdwNumTypesCompBuffers,pamvaCompBufferInfo)    \
  450.     (This)->lpVtbl -> GetInternalCompBufferInfo(This,pdwNumTypesCompBuffers,pamvaCompBufferInfo)
  451.  
  452. #define IAMVideoAccelerator_BeginFrame(This,amvaBeginFrameInfo)    \
  453.     (This)->lpVtbl -> BeginFrame(This,amvaBeginFrameInfo)
  454.  
  455. #define IAMVideoAccelerator_EndFrame(This,pEndFrameInfo)    \
  456.     (This)->lpVtbl -> EndFrame(This,pEndFrameInfo)
  457.  
  458. #define IAMVideoAccelerator_GetBuffer(This,dwTypeIndex,dwBufferIndex,bReadOnly,ppBuffer,lpStride)    \
  459.     (This)->lpVtbl -> GetBuffer(This,dwTypeIndex,dwBufferIndex,bReadOnly,ppBuffer,lpStride)
  460.  
  461. #define IAMVideoAccelerator_ReleaseBuffer(This,dwTypeIndex,dwBufferIndex)    \
  462.     (This)->lpVtbl -> ReleaseBuffer(This,dwTypeIndex,dwBufferIndex)
  463.  
  464. #define IAMVideoAccelerator_Execute(This,dwFunction,lpPrivateInputData,cbPrivateInputData,lpPrivateOutputDat,cbPrivateOutputData,dwNumBuffers,pamvaBufferInfo)    \
  465.     (This)->lpVtbl -> Execute(This,dwFunction,lpPrivateInputData,cbPrivateInputData,lpPrivateOutputDat,cbPrivateOutputData,dwNumBuffers,pamvaBufferInfo)
  466.  
  467. #define IAMVideoAccelerator_QueryRenderStatus(This,dwTypeIndex,dwBufferIndex,dwFlags)    \
  468.     (This)->lpVtbl -> QueryRenderStatus(This,dwTypeIndex,dwBufferIndex,dwFlags)
  469.  
  470. #define IAMVideoAccelerator_DisplayFrame(This,dwFlipToIndex,pMediaSample)    \
  471.     (This)->lpVtbl -> DisplayFrame(This,dwFlipToIndex,pMediaSample)
  472.  
  473. #endif /* COBJMACROS */
  474.  
  475.  
  476. #endif     /* C style interface */
  477.  
  478.  
  479.  
  480. HRESULT STDMETHODCALLTYPE IAMVideoAccelerator_GetVideoAcceleratorGUIDs_Proxy( 
  481.     IAMVideoAccelerator * This,
  482.     /* [out][in] */ LPDWORD pdwNumGuidsSupported,
  483.     /* [out][in] */ LPGUID pGuidsSupported);
  484.  
  485.  
  486. void __RPC_STUB IAMVideoAccelerator_GetVideoAcceleratorGUIDs_Stub(
  487.     IRpcStubBuffer *This,
  488.     IRpcChannelBuffer *_pRpcChannelBuffer,
  489.     PRPC_MESSAGE _pRpcMessage,
  490.     DWORD *_pdwStubPhase);
  491.  
  492.  
  493. HRESULT STDMETHODCALLTYPE IAMVideoAccelerator_GetUncompFormatsSupported_Proxy( 
  494.     IAMVideoAccelerator * This,
  495.     /* [in] */ const GUID *pGuid,
  496.     /* [out][in] */ LPDWORD pdwNumFormatsSupported,
  497.     /* [out][in] */ LPDDPIXELFORMAT pFormatsSupported);
  498.  
  499.  
  500. void __RPC_STUB IAMVideoAccelerator_GetUncompFormatsSupported_Stub(
  501.     IRpcStubBuffer *This,
  502.     IRpcChannelBuffer *_pRpcChannelBuffer,
  503.     PRPC_MESSAGE _pRpcMessage,
  504.     DWORD *_pdwStubPhase);
  505.  
  506.  
  507. HRESULT STDMETHODCALLTYPE IAMVideoAccelerator_GetInternalMemInfo_Proxy( 
  508.     IAMVideoAccelerator * This,
  509.     /* [in] */ const GUID *pGuid,
  510.     /* [in] */ const AMVAUncompDataInfo *pamvaUncompDataInfo,
  511.     /* [out][in] */ LPAMVAInternalMemInfo pamvaInternalMemInfo);
  512.  
  513.  
  514. void __RPC_STUB IAMVideoAccelerator_GetInternalMemInfo_Stub(
  515.     IRpcStubBuffer *This,
  516.     IRpcChannelBuffer *_pRpcChannelBuffer,
  517.     PRPC_MESSAGE _pRpcMessage,
  518.     DWORD *_pdwStubPhase);
  519.  
  520.  
  521. HRESULT STDMETHODCALLTYPE IAMVideoAccelerator_GetCompBufferInfo_Proxy( 
  522.     IAMVideoAccelerator * This,
  523.     /* [in] */ const GUID *pGuid,
  524.     /* [in] */ const AMVAUncompDataInfo *pamvaUncompDataInfo,
  525.     /* [out][in] */ LPDWORD pdwNumTypesCompBuffers,
  526.     /* [out] */ LPAMVACompBufferInfo pamvaCompBufferInfo);
  527.  
  528.  
  529. void __RPC_STUB IAMVideoAccelerator_GetCompBufferInfo_Stub(
  530.     IRpcStubBuffer *This,
  531.     IRpcChannelBuffer *_pRpcChannelBuffer,
  532.     PRPC_MESSAGE _pRpcMessage,
  533.     DWORD *_pdwStubPhase);
  534.  
  535.  
  536. HRESULT STDMETHODCALLTYPE IAMVideoAccelerator_GetInternalCompBufferInfo_Proxy( 
  537.     IAMVideoAccelerator * This,
  538.     /* [out][in] */ LPDWORD pdwNumTypesCompBuffers,
  539.     /* [out] */ LPAMVACompBufferInfo pamvaCompBufferInfo);
  540.  
  541.  
  542. void __RPC_STUB IAMVideoAccelerator_GetInternalCompBufferInfo_Stub(
  543.     IRpcStubBuffer *This,
  544.     IRpcChannelBuffer *_pRpcChannelBuffer,
  545.     PRPC_MESSAGE _pRpcMessage,
  546.     DWORD *_pdwStubPhase);
  547.  
  548.  
  549. HRESULT STDMETHODCALLTYPE IAMVideoAccelerator_BeginFrame_Proxy( 
  550.     IAMVideoAccelerator * This,
  551.     /* [in] */ const AMVABeginFrameInfo *amvaBeginFrameInfo);
  552.  
  553.  
  554. void __RPC_STUB IAMVideoAccelerator_BeginFrame_Stub(
  555.     IRpcStubBuffer *This,
  556.     IRpcChannelBuffer *_pRpcChannelBuffer,
  557.     PRPC_MESSAGE _pRpcMessage,
  558.     DWORD *_pdwStubPhase);
  559.  
  560.  
  561. HRESULT STDMETHODCALLTYPE IAMVideoAccelerator_EndFrame_Proxy( 
  562.     IAMVideoAccelerator * This,
  563.     /* [in] */ const AMVAEndFrameInfo *pEndFrameInfo);
  564.  
  565.  
  566. void __RPC_STUB IAMVideoAccelerator_EndFrame_Stub(
  567.     IRpcStubBuffer *This,
  568.     IRpcChannelBuffer *_pRpcChannelBuffer,
  569.     PRPC_MESSAGE _pRpcMessage,
  570.     DWORD *_pdwStubPhase);
  571.  
  572.  
  573. HRESULT STDMETHODCALLTYPE IAMVideoAccelerator_GetBuffer_Proxy( 
  574.     IAMVideoAccelerator * This,
  575.     /* [in] */ DWORD dwTypeIndex,
  576.     /* [in] */ DWORD dwBufferIndex,
  577.     /* [in] */ BOOL bReadOnly,
  578.     /* [out] */ LPVOID *ppBuffer,
  579.     /* [out] */ LONG *lpStride);
  580.  
  581.  
  582. void __RPC_STUB IAMVideoAccelerator_GetBuffer_Stub(
  583.     IRpcStubBuffer *This,
  584.     IRpcChannelBuffer *_pRpcChannelBuffer,
  585.     PRPC_MESSAGE _pRpcMessage,
  586.     DWORD *_pdwStubPhase);
  587.  
  588.  
  589. HRESULT STDMETHODCALLTYPE IAMVideoAccelerator_ReleaseBuffer_Proxy( 
  590.     IAMVideoAccelerator * This,
  591.     /* [in] */ DWORD dwTypeIndex,
  592.     /* [in] */ DWORD dwBufferIndex);
  593.  
  594.  
  595. void __RPC_STUB IAMVideoAccelerator_ReleaseBuffer_Stub(
  596.     IRpcStubBuffer *This,
  597.     IRpcChannelBuffer *_pRpcChannelBuffer,
  598.     PRPC_MESSAGE _pRpcMessage,
  599.     DWORD *_pdwStubPhase);
  600.  
  601.  
  602. HRESULT STDMETHODCALLTYPE IAMVideoAccelerator_Execute_Proxy( 
  603.     IAMVideoAccelerator * This,
  604.     /* [in] */ DWORD dwFunction,
  605.     /* [in] */ LPVOID lpPrivateInputData,
  606.     /* [in] */ DWORD cbPrivateInputData,
  607.     /* [in] */ LPVOID lpPrivateOutputDat,
  608.     /* [in] */ DWORD cbPrivateOutputData,
  609.     /* [in] */ DWORD dwNumBuffers,
  610.     /* [in] */ const AMVABUFFERINFO *pamvaBufferInfo);
  611.  
  612.  
  613. void __RPC_STUB IAMVideoAccelerator_Execute_Stub(
  614.     IRpcStubBuffer *This,
  615.     IRpcChannelBuffer *_pRpcChannelBuffer,
  616.     PRPC_MESSAGE _pRpcMessage,
  617.     DWORD *_pdwStubPhase);
  618.  
  619.  
  620. HRESULT STDMETHODCALLTYPE IAMVideoAccelerator_QueryRenderStatus_Proxy( 
  621.     IAMVideoAccelerator * This,
  622.     /* [in] */ DWORD dwTypeIndex,
  623.     /* [in] */ DWORD dwBufferIndex,
  624.     /* [in] */ DWORD dwFlags);
  625.  
  626.  
  627. void __RPC_STUB IAMVideoAccelerator_QueryRenderStatus_Stub(
  628.     IRpcStubBuffer *This,
  629.     IRpcChannelBuffer *_pRpcChannelBuffer,
  630.     PRPC_MESSAGE _pRpcMessage,
  631.     DWORD *_pdwStubPhase);
  632.  
  633.  
  634. HRESULT STDMETHODCALLTYPE IAMVideoAccelerator_DisplayFrame_Proxy( 
  635.     IAMVideoAccelerator * This,
  636.     /* [in] */ DWORD dwFlipToIndex,
  637.     /* [in] */ IMediaSample *pMediaSample);
  638.  
  639.  
  640. void __RPC_STUB IAMVideoAccelerator_DisplayFrame_Stub(
  641.     IRpcStubBuffer *This,
  642.     IRpcChannelBuffer *_pRpcChannelBuffer,
  643.     PRPC_MESSAGE _pRpcMessage,
  644.     DWORD *_pdwStubPhase);
  645.  
  646.  
  647.  
  648. #endif     /* __IAMVideoAccelerator_INTERFACE_DEFINED__ */
  649.  
  650.  
  651. /* Additional Prototypes for ALL interfaces */
  652.  
  653. /* end of Additional Prototypes */
  654.  
  655. #ifdef __cplusplus
  656. }
  657. #endif
  658.  
  659. #endif
  660.  
  661.  
  662.